package org.yunshang.beltbody.domain.bo;

import com.alibaba.excel.annotation.ExcelIgnore;
import org.yunshang.beltbody.domain.TBeltBody;
import org.yunshang.common.core.validate.AddGroup;
import org.yunshang.common.core.validate.EditGroup;
import org.yunshang.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

import java.util.Map;

/**
 * 带身信息业务对象 t_belt_body
 *
 * @author Lion Li
 * @date 2024-03-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TBeltBody.class, reverseConvertGenerate = false)
public class TBeltBodyBo extends BaseEntity {

    /**
     * id
     */
    private Long id;

    /**
     * 宽度
     */
    @NotBlank(message = "宽度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String width;

    /**
     * 厚度
     */
    private String thickness;

    /**
     * 款式
     */
    @NotNull(message = "款式不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long type;

    /**
     * 面皮
     */
    @NotNull(message = "面皮不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long mianpi;

    /**
     * 面皮颜色
     */
    @NotNull(message = "面皮颜色不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long mpColor;

    /**
     * 面皮材质
     */
    private String mpCaizhi;

    /**
     * 底皮
     */
    @NotNull(message = "底皮不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long dipi;

    /**
     * 底皮颜色
     */
    @NotNull(message = "底皮颜色不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long dpColor;

    /**
     * 底皮材质
     */
    private String dpCaizhi;

    /**
     * 尾形
     */
    @NotBlank(message = "尾形不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tailType;

    /**
     * 样图
     */
    private String img;

    /**
     * 样图地址 id->url
     */
    private Map<Long, String> imgMap;
    /**
     * 成本价
     */
    private Long costPrice;

    /**
     * 状态(0：启用，1：禁用)
     */
    private String status;

    private String logUrl;
}
